package com.slowfly.rule.engine.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.slowfly.rule.engine.entity.Feature;
import com.slowfly.rule.engine.model.FeatureValue;
import com.slowfly.rule.engine.param.FeatureParam;
import com.slowfly.rule.engine.result.FeatureResult;
import com.slowfly.rule.engine.result.PageResult;

import java.util.List;
import java.util.Set;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author shalongfei
 * @since 2024-02-22
 */
public interface IFeatureService extends IService<Feature> {

    void setCache();

    void editCache(int type, int id);

    Feature get(Integer featureId);

    List<FeatureResult> listFeature();

    PageResult<FeatureResult> pageFeature(FeatureParam param);

    boolean addFeature(FeatureParam param);

    boolean editFeature(FeatureParam param);

    boolean deleteFeature(FeatureParam param);

    List<FeatureValue> listFeatureValues(long riskId, Object riskParam, Set<Integer> featureIds);

}
